XDVI for PC under DV/X

Eric Ho 9041477@SSCVAX.CIS.MCMASTER.CA

October 23, 1992

This program is re-compiled using DJGPP. As a result, the program expects 386 CPU and up with FPU as well as GO32. Original XDVI source is obtained from export.lcs.mit.edu:/contrib.

1 Modifications

There are not many modifications done to the original xdvi except that fonts not available can now be substituted by specifying them in a file. The environmental variable TEXFONTSUB points to this file. For example, TEX-FONTSUB=c:/xdvi/texfonts.sub”. The filename texfonts.sub is arbitrary. One can rename it to some other name as long as the environmental variable TEXFONTSUB points to it. Format of the font substitute file (ASCII) is as follows:

amr10 -> cmr10

src2 -> dest2

etc.

where src2 is the unavailable font and dest2 is the font we intended to substitute. It is exactly as the font substitution machcanism found in DVIVGA.

For those interested in the image processing features provided by XDVI, please browse through the source and see if I did anything wrong in choosing suitable image quality since I do not know anything about image processing.

Default TEXfont directory is ”c:/tex/fonts.” However, this can be overridden by specifying another directory through some environmental variable. Please look at the file readme for details.

Finally, I have tested only the ”pk” font version of XDVI, therefore the performance of using ”gf” and ”pxl” is unknown. These two versions of XDVI are however also modified to look up font substitute file. To use the other version one must re-compile the source. To obtain the other versions one must re-compile XDVI with appropiate switches set.

2 Optimizing XDVI

Opening and searching text file using DJGPP will add significant overhead to the execution due to mode switching. Also, I found most of substitutions are converting AM font to CM font (I only have cm font at home). Therefore, I also modified the program to convert amxxxx to cmxxxx internally to speed up execution. To choose this option one should recompile the source without defining FONTSUB (i.e., take out -DFONTSUB in the makefile). Finally, the makefile enclosed is compatible with both NDMAKE45 and Borlan?’s MAKE utility.

3 Bugs

I have not yet found any bugs after I have performed some testings. However, I conducted the test without mouse attaching to my system (because I don’t have one). Accordingly, I have no idea how XDVI will behave with mouse connected to the system. Finally, I tested only the pk font version of XDVI, therefore the performance of using gf and pxl is unknown.

4 Acknowledgment

I wish to thank DJ, et. al. for their excellent compiler. Also thank all authors of the original XDVI for their contribution.